// asyncRoutes constantRoutes是在原本router里面的，然后
// 放到这里面调用
// 在scr、components>sidevbar(侧边栏)的文件中，把原来引用静态页面的方式改为在
// VUEX里面引用动态页面的方法

import { asyncRoutes, constantRoutes } from '@/router'

const state = {
  router: []
}
const mutations = {
  setRouter(state, newRouter) {
    state.router = [...constantRoutes, ...newRouter]// 拼接动态加静态
  }
}
const actions = {
  // 权限
  filterRouter(store, menus) {
    const newRouter = asyncRoutes.filter(item => {
      return menus.includes(item.name)
    })
    // console.log('newRouter: ', newRouter)
    store.commit('setRouter', newRouter)
    return newRouter// 这里ruturn是为了导航守卫里面可以直接调用filterRouter，返回的结果
  }
  //   newRouter即为筛选出来具有访问权限的路由
  //   然后更改状态都要通过commit在mutations

}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}
